package advanced;

/**
 * 栈的特点:
 * 1. 栈属于线程私有,不能实现线程间的共享
 * 2. JVM为每一个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量)
 * 3. 每个方法被调用都会创建一个栈帧(存储局部变量,操作数,方法出口等)
 * 4. 栈是一个连续的内存空间, 分配速度很快!!!
 *
 * <p>
 * 堆的特点:
 * 1. 堆用于存储创建好的对象和数组(数组也是对象)
 * 2. JVM只有一个堆, 被所有线程共享
 * 3. 堆是一个不连续的内存空间,分配灵活,速度慢
 * <p>
 * <p>
 * 方法区(静态区):
 * 1. JVM只有一个方法去,被所有线程共享
 * 2. 方法区本质也是 "堆" ,只适用于存储类,常量相关的信息
 * 3. 用来存储程序中不变或唯一的内容(类信息、静态变量、字符串常量）
 */
public class L_MemoryDistribute {
    public static void main(String[] args) {

    }
}
